.. :validated: 3.2.0

.. _domain-exit:

Вывод компьютера из домена
==========================

Вывод компьютера из домена предполагает приведение его операционной системы в исходное состояние и удаление всех записей о хосте из каталога. Это может потребоваться, например, в случаях когда:

* администратор допустил опечатку в названии имени хоста;
* оборудование устарело и нужно его вывести из эксплуатации.

Процесс вывода из домена клиентов под управлением **ALSE** и альтернативных ОС различается и приведен в разделах 2.3.1 - 2.3.4.

Действия на р/с под управлением Astra Linux Special Edition
-----------------------------------------------------------

Начиная с версии 3.2 для операционной системы **ALSE** утилита ``aldpro-client-installer`` может выполнить откат настройки клиента FreeIPA, чтобы привести содержание общих конфигурационных файлов, включая настройки PAM стека, в исходное состояние.

Для выполнения этой операции достаточно прав локального администратора, например ``localadmin``. В зависимости от режима использования:

1. В графическом режиме необходимо запустить приложение, установить переключатель **Состояние** в положение **Недоменный компьютер** и нажать кнопку **ОК**. Для запуска операции следует подтвердить откат изменений в диалоговом окне, а после завершения операции рекомендуется сразу выполнить перезагрузку.

2. В режиме командной строки выполнить команду:

.. code-block:: bash

    sudo aldpro-client-installer -i -R  
    
Для того, чтобы компьютер был автоматически перезагружен, после завершения операции следует добавить в команду ключ ``-r (--reboot)``.

Учетная запись компьютера будет снята с регистрации в домене, а его DNS-записи будут удалены. Информация по удалению учетной записи из базы системы FreeIPA приведена в подразделе :ref:`backup-controller-delete`.

Для полного приведения операционной системы в исходное состояние выполнить следующие действия:

- Необходимо удалить пакеты приложений, указав явно ``aldpro``, ``freeipa``, ``sssd`` и ``krb5``. Все другие пакеты будут удалены через зависимости.

.. code-block:: bash

    sudo apt purge 'aldpro*' 'freeipa*' 'sssd*' 'krb5*'
    sudo apt autoremove --purge

- Установить сетевые настройки с учетом нового сценария использования рабочей станции.

- Проверить список профилей в домашней папке:

.. code-block:: bash
    
    cd /home/ && ls

В результате отображаются профили нескольких пользователей, один из которых локальный администратор, например, **localadmin**, который был указан при установке:

.. code-block:: bash
    
    admin localadmin ivani ppetr

- Теперь нужно удалить домашние директории доменных пользователей и оставшиеся в системе артефакты.

.. code-block:: bash
    
    sudo rm -rf /home/admin

- Удалить каталоги клиентских приложений подсистем **ALD Pro**:

.. code-block:: bash

    sudo rm -rf /var/lib/sss/pubconf/krb5.include.d/
    sudo rm -rf /etc/krb5.conf.d/
    sudo rm -rf /var/lib/sss/
    sudo rm -rf /etc/sssd/
    sudo rm -rf /opt/rbta/aldpro/
    sudo rm -rf /etc/syslog-ng/aldpro/
    sudo rm -rf /srv/aldpro-salt/config/
    sudo rm -rf /var/lib/certmonger/

- Для удаления корневого сертификата домена из файла ``/etc/ssl/certs/ca-certificates.crt`` следует вызвать утилиту ``update-ca-certificates``:

.. code-block:: bash
    
    sudo update-ca-certificates

- В завершение действий над выводимым компьютером необходимо вернуть компьютеру исходное имя хоста, например, **astra**, и перезагрузить его:

.. code-block:: bash

    sudo hostnamectl set-hostname astra
    sudo reboot

Действия на р/с под управлением Альт 10.4 и Альт СП 10
------------------------------------------------------

На рабочей станции сначала следует сделать откат настройки клиента **FreeIPA**, чтобы привести содержание общих конфигурационных файлов, включая настройки **PAM** стека, в исходное состояние. 

.. code-block:: bash

    sudo ipa-client-install --uninstall --unattended

При выполнении команды в системе происходят следующие действия:

* в службе каталога снимается отметка о том, что хост зарегистрирован в домене;

* ключи хоста удаляются из файла ``/etc/krb5.keytab``;

* содержимое конфигурационных файлов, например, ``/etc/krb5.conf``, ``/etc/ldap/ldap.conf`` приводится в исходное состояние;

* к имени файла конфигурации ``/etc/sssd/sssd.conf`` добавляется суффикс ``.deleted``.

Удалить пакеты приложений, указав явно **aldpro**, **freeipa**, **sssd**. Все другие пакеты будут удалены через зависимости.

.. code-block:: bash
    
    sudo apt-get remove -y --purge '^aldpro*' '^freeipa*' '^sssd*'
    sudo apt-get autoremove --purge

Удалить домашние директории доменных пользователей:

.. code-block:: bash
    
    sudo rm -rf /home/<логин_доменного_пользователя>

Удалить каталоги клиентских приложений подсистем **ALD Pro**:

.. code-block:: bash
    
    sudo rm -rf /var/lib/sss/pubconf/krb5.include.d/
    sudo rm -rf /etc/krb5.conf.d/
    sudo rm -rf /var/lib/sss/
    sudo rm -rf /etc/sssd/
    sudo rm -rf /opt/rbta/aldpro/
    sudo rm -rf /etc/syslog-ng/aldpro/
    sudo rm -rf /srv/aldpro-salt/
    sudo rm -rf /var/lib/certmonger/

Удалить репозиторий клиента **ALD Pro**:

.. code-block:: bash
    
    sudo rm -rf /etc/apt/sources.list.d/aldpro.list
    sudo rm -rf /etc/apt/preferences.d/aldpro-client
    sudo apt-get update

Для удаления корневого сертификата домена следует вызвать утилиту ``update-ca-trust``:

.. code-block:: bash
    
    sudo update-ca-trust

В завершение действий над выводимым ПК можно установить сетевые настройки и имя хоста с учетом нового сценария использования рабочей станции и перезагрузить его:

.. code-block:: bash
    
    sudo reboot

Действия на р/с под управлением РЕД ОС 7.3.5 и РЕД ОС 8
-------------------------------------------------------

На рабочей станции сначала следует сделать откат настройки клиента **FreeIPA**, чтобы привести содержание общих конфигурационных файлов, включая настройки **PAM** стека, в исходное состояние. 

.. code-block:: bash

   sudo ipa-client-install --uninstall --unattended

.. attention::
    
   В результате выполнения команды появится сообщение об успешности вывода клиента из домена ``Client uninstall complete``, но также появится и сообщение об ошибке ``The ipa-client-install command failed``. В логе ``/var/log/ipaclient-uninstall.log`` при этом отобразится ошибка:
    
.. code-block:: bash
        
   2025-06-06T08:47:49Z ERROR Some installation state for domainname has not been restored, see /var/lib/ipa/sysrestore/sysrestore.state
    
Данная ошибка не критична и вызвана особенностями IPA-клиента в **РЕД ОС**. Чтобы она не возникала, можно предварительно удалить неиспользуемую секцию ``[domainname]`` из файла конфигурации для восстановления ``/var/lib/ipa-client/sysrestore/sysrestore.state``. Это можно сделать вручную или воспользоваться командой: 
    
.. code-block:: bash

   sudo sed -i '/\[domainname\]/,/enabled = False/ d' /var/lib/ipa-client/sysrestore/sysrestore.state

При выполнении команды в системе происходят следующие действия:

* в службе каталога снимается отметка о том, что хост зарегистрирован в домене;

* ключи хоста удаляются из файла ``/etc/krb5.keytab``;

* содержимое конфигурационных файлов, например, ``/etc/krb5.conf``, ``/etc/ldap/ldap.conf`` приводится в исходное состояние;

* к имени файла конфигурации ``/etc/sssd/sssd.conf`` добавляется суффикс ``.deleted``.

Удалить пакеты приложений, указав явно **aldpro**, **freeipa**, **sssd** и **krb5**. Все другие пакеты будут удалены через зависимости.

.. code-block:: bash

    sudo dnf remove --exclude=krb5-libs -y 'aldpro*' 'freeipa*' 'sssd*' 'krb5*'
    sudo dnf -y autoremove

Удалить домашние директории доменных пользователей.

.. code-block:: bash
    
    sudo ls -l /home
    sudo rm -rf /home/<логин_доменного_пользователя>

Удалить каталоги клиентских приложений подсистем **ALD Pro**:

.. code-block:: bash

    sudo rm -rf /var/lib/sss/pubconf/krb5.include.d/
    sudo rm -rf /etc/krb5.conf.d/
    sudo rm -rf /var/lib/sss/
    sudo rm -rf /etc/sssd/
    sudo rm -rf /opt/rbta/aldpro/
    sudo rm -rf /etc/syslog-ng/aldpro/
    sudo rm -rf /srv/aldpro-salt/
    sudo rm -rf /var/lib/certmonger/

Удалить репозиторий клиента **ALD Pro**:

.. code-block:: bash

    sudo rm -rf /etc/yum.repos.d/aldpro.repo
    sudo dnf makecache

Для удаления корневого сертификата домена следует вызвать утилиту ``update-ca-trust``:

.. code-block:: bash

    sudo update-ca-trust

В завершение действий над выводимым ПК можно установить сетевые настройки и имя хоста с учетом нового сценария использования рабочей станции и перезагрузить его:

.. code-block:: bash
    
    sudo reboot

.. _backup-controller-delete:

Действия на контроллере домена
------------------------------

Вывод компьютера под управлением ALSE
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Утилита ``aldpro-client-installer`` при выводе компьютера из домена удалит DNS-записи хоста автоматически. На сервере ``dc-1`` достаточно удалить выводимый компьютер из базы системы FreeIPA:

.. code-block:: bash

    kinit admin

    ipa host-del pc-1.ald.company.lan --updatedns

Результат удаления компьютера:

.. code-block:: bash

    ----------------------------------
    Удалён узел "pc-1.ald.company.lan"
    ----------------------------------

Выводимый компьютера под управлением альтернативных ОС
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

На сервере ``dc-1`` необходимо выполнить:

- удаление DNS-записей хоста;
- удаление учетной записи хоста.

.. code-block:: bash

    kinit admin
    ipa dnsrecord-del ald.company.lan. pc-1 --del-all

Результат удаления записей DNS:

.. code-block:: bash

    ---------------------
    Удалена запись "pc-1"
    ---------------------

Удалить выводимый компьютер из базы системы FreeIPA:

.. code-block:: bash

    ipa host-del pc-1.ald.company.lan

Результат удаления компьютера:

.. code-block:: bash

    ----------------------------------
    Удалён узел "pc-1.ald.company.lan"
    ---------------------------------- 